package com.manage.platform.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.manage.platform.dto.OrganizeDto;
import com.manage.platform.dto.OrganizeTreeDto;
import com.manage.platform.dto.query.OrganizeMemberQuery;
import com.manage.platform.dto.query.OrganizeMemberTwoQuery;
import com.manage.platform.entity.OrganizeEntity;
import com.manage.platform.vo.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * YWD
 * 2025/9/25
 */
@Mapper
public interface OrganizeMapper extends BaseMapper<OrganizeEntity> {

    List<OrganizeTreeVo> getOrganizeTree(@Param("dto") OrganizeTreeDto dto);

    List<OrganizeMemberVo> getOrganizeMemberPage(@Param("query") OrganizeMemberQuery query);

    Boolean saveOrganize(@Param("dto") OrganizeDto dto);

    List<CommonVo> getOrganizePartList(@Param("name") String name,@Param("type") String type);

    List<OrganizeMemberVo> getOrganizeMemberTwoPage(@Param("query") OrganizeMemberTwoQuery query);

    OrganizeHeadUserVo getOrganizeHeadUser(@Param("headId") Long headId);

    OrganizeDetailsVo getOrganizeDetails(@Param("id") Long id);

    List<OrganizeMemberVo> getOrganizeMemberVoList(@Param("orgId") Long orgId);

    List<CommonVo> getCollegeList(@Param("name") String name);

    List<CommonVo> getDepartmentList(@Param("name") String name);

    List<CommonVo> getCollegeListPart();


}
